package com.zzyl.service;

import com.zzyl.dto.CustomerLoginDto;
import com.zzyl.dto.MemberDto;
import com.zzyl.entity.Member;
import com.zzyl.vo.MemberVo;

import java.util.List;

public interface MemberService {

    /**
     * 数据存储接口，提供成员数据的基本操作方法。
     */
    /**
     * 插入成员信息。
     *
     * @param member 成员信息对象，不应为null。
     */
    void insert(Member member);

    /**
     * 根据ID选择成员信息。
     *
     * @param id 成员的唯一标识符，不应为null。
     * @return 返回匹配的成员信息对象，如果没有找到则返回null。
     */
    MemberVo selectById(Long id);

    /**
     * 更新成员信息。
     *
     * @param member 成员信息对象，不应为null。对象中的ID字段将用于确定要更新的成员。
     */
    void update(Member member);

    /**
     * 根据ID删除成员信息。
     *
     * @param id 成员的唯一标识符，不应为null。
     */
    void deleteById(Long id);

    /**
     * 根据开放ID查找成员信息。
     *
     * @param openId 成员的开放ID，用于第三方平台的身份验证，不应为null。
     * @return 返回匹配的成员信息对象，如果没有找到则返回null。
     */
    MemberVo findByOpenId(String openId);
}
